/**
 * VUEshop
 * ============================================================================
 * * 版权所有 2015-2027 深圳搜豹网络科技有限公司，并保留所有权利。
 * 网站地址: http://www.vueshop.com.cn
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
 * 不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * $Author: soubao-java 2020-07-22 $
 */<template>
  <div>
    <div class="item-title">
      <div class="subject">
        <h3>订单日志</h3>
        <h5>订单操作日志包括商家操作订单记录</h5>
      </div>
    </div>
    <div
      id="explanation"
      class="explanation"
      style="color: rgb(85, 85, 85); background-color: rgb(243, 244, 244); width: 98%; height: 100%;"
    >
      <div class="bckopa-tips">
        <div class="title">
          <img src="@/static/images/handd.png" alt />
          <h4 title="提示相关设置操作时应注意的要点">操作提示</h4>
        </div>
        <ul>
          <li>订单操作日志</li>
        </ul>
      </div>
      <span title="收起提示" id="explanationZoom" style="display: block;"></span>
    </div>

    <div class="mDiv">
      <div class="ftitle">
        <h3>订单列表</h3>
        <h5>(共 {{totalCount}} 条记录)</h5>
      </div>
      <div class="fbutton">
        <div @click="removeBatch()" class="add">
          <span>
            <i class="el-icon-remove" /> 批量删除
          </span>
        </div>
      </div>
      <a href @click.prevent="refresh()" class="refresh-date">
        <div title="刷新数据" class="pReload">
          <i class="fa fa-refresh"></i>
        </div>
      </a>
	  <div class="searchbox">
		  <el-date-picker
		    v-model="dateRange"
		    type="daterange"
		    range-separator="至"
		    start-placeholder="起始时间"
		    end-placeholder="截止时间"
		    size="small"
		  ></el-date-picker>
		  <el-input
		    class="searchinput"
			oninput="value=value.replace(/[^\d]/g,'')"
		    v-model="actionUser"
		    size="small"
		    placeholder="操作员id"
		    clearable
		  ></el-input>
		  <el-button
		    class="searchbtn"
		    size="small"
		    icon="el-icon-search"
		    @click="currentPage = 1;getPage()"
		  >搜索</el-button>
	  </div>
    </div>

    <div class="tablebox">
      <el-table :data="tableData" ref="multipleTable" style="width: 100%;">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column label="ID" prop="action_id" width="120"></el-table-column>
        <el-table-column label="订单ID" prop="order_id" width="100" show-overflow-tooltip></el-table-column>
        <el-table-column label="操作" prop="status_desc" width="200"></el-table-column>
        <el-table-column label="操作员" prop="action_user_desc" width="180"></el-table-column>
        <el-table-column label="操作备注" prop="action_note" width="260" show-overflow-tooltip></el-table-column>
        <el-table-column label="操作时间" prop="log_time_desc" width="150"></el-table-column>
        <el-table-column label="操作">
          <template slot-scope="scope">
            <el-button-group>
              <el-button
                size="small"
                @click="orderDetail(scope.row.order_id)"
                icon="el-icon-s-order"
              >查看</el-button>
              <el-button size="small" @click="remove(scope.row.action_id)" icon="el-icon-delete">删除</el-button>
            </el-button-group>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        background
        class="paginationbox"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="[5, 10, 15, 20]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="totalCount"
      ></el-pagination>
    </div>
  </div>
</template>

<script>
import { getOrderActionPage, deleteOrderAction } from "@/utils/api";
export default {
  data() {
    return {
      tableData: [],
      currentPage: this.$route.params.currentPage || 1,
      totalCount: 0,
      pageSize: 10,
      selectArr: [],
      selects: [],
      order: null,
	  dateRange: [
	    new Date(new Date().toLocaleDateString()).getTime() -
	      60 * 60 * 24 * 1000 * 90,
	    new Date(new Date().toLocaleDateString()).getTime() +
	      (60 * 60 * 24 * 1000 - 1000)
	  ],
	  actionUser: null
    };
  },
  created() {
    this.getPage();
  },
  methods: {
    handleSizeChange(e) {
      this.pageSize = e;
      this.getPage();
    },
    handleCurrentChange(e) {
      this.currentPage = e;
      this.getPage();
    },
    getPage() {
      var that = this;
	  if (this.dateRange) {
	    var start_time = this.dateRange[0] / 1000;
	    var end_time = this.dateRange[1] / 1000 + 86400;
	  }
      getOrderActionPage({
		start_time: start_time,
		end_time: end_time,
		action_user: that.actionUser,
        p: that.currentPage,
        size: that.pageSize
      }).then(function(res) {
        that.tableData = res.records;
        that.totalCount = res.total;
      });
    },
    refresh() {
      this.getPage();
      this.$message.success("刷新成功！");
    },
    orderDetail(orderId) {
      var that = this;
      this.request.get("order/order?order_id=" + orderId).then(function(res) {
        that.$router.push({
          name: "order_detail",
          params: {
            sn: res.order_sn,
            currentPage: that.currentPage
          }
        });
      });
    },
    removeBatch() {
      //获取选中的记录
      var rows = this.$refs.multipleTable.selection;
      var ids = [];
      rows.forEach(element => {
        ids.push(element.action_id);
      });
      if (ids.length == 0) {
        this.$message.info("请选择需要删除的记录!");
        return;
      }
      this.remove(ids);
    },
    remove(ids) {
      var that = this;
      this.$confirm("确认删除?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
        .then(() => {
          deleteOrderAction(ids).then(function(res) {
            if (res.status == 1) {
              that.getPage();
              that.$message.success("删除成功!");
            } else {
              that.$message.error(res.msg);
            }
          });
        })
        .catch(() => {
          that.$message.info("已取消删除");
        });
    }
  }
};
</script>

<style scoped>
	.searchinput {
	  width: auto;
	}
</style>
